package com.doit.day03

import scala.collection.immutable
import scala.io.Source

object _04_线段案例 {
  def main(args: Array[String]): Unit = {
    //1.读文件
    val list: List[String] = Source.fromFile("data/input/line.txt")
      .getLines()
      .toList

    //2.处理数据 1,4  1-2  2-3  3-4  一对多的情况
    val flatten: List[String] = list.map(line => {
      val arr: Array[String] = line.split(",")
      val start: String = arr(0)
      val end: String = arr(1)
      //将一个个的元素转换成了 1-2   2-3  3-4 这样的结果
      //只不过我现在转换成的是1,4  ==》 seq(1-2,2-3,3-4)
      for (elem <- start.toInt until end.toInt) yield {
        elem + "-" + (elem + 1)
      }
    }).flatten// List(Seq(1-2,2-3,3-4),Seq(2-3,3-4,4-5,5-6)。。。。)

    //3.wordCunt
    val res: Map[String, Int] = flatten.groupBy(word => word)
      .map(tp => {
        (tp._1, tp._2.size)
      })
    val list1: List[(String, Int)] = res.toList
    list1.sortBy(-_._2)
      .foreach(println)
    //得到的count 进行排序 按照从小到大的顺序进行排列

  }
}
